Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Rendered • View rawDownload


lang/README.ru.md v4.4.0-rc.3 (0115fa43) Text, 14.09 KB

Reticulum MeshChatX


Существенно доработанный и функционально расширенный форк Reticulum MeshChat от Liam Cottle.

Этот проект независим от оригинального Reticulum MeshChat и не связан с ним.

• Сайт: meshchatx.com
• Исходный код: git.quad4.io/RNS-Things/MeshChatX
• Официальное зеркало: github.com/Sudo-Ivan/MeshChatX — пока также используется для сборок Windows и macOS.
• Журнал изменений: CHANGELOG.md
• TODO: Boards

Важные отличия от Reticulum MeshChat

• Используется LXST
• Peewee ORM заменён на прямой SQL
• Axios заменён на нативный T383838fetch
• Актуальный Electron
• Колёса T383838.whl с веб-сервером и встроенным фронтендом для разных сценариев развёртывания
• i18n
• PNPM и Poetry для зависимостей

│ [!WARNING] MeshChatX не гарантирует совместимость данных со старыми версиями Reticulum MeshChat.
│ Сделайте резервную копию перед миграцией или тестированием.

│ [!WARNING] Устаревшие системы пока не полностью поддерживаются. Текущие требования: Python T383838>=3.11
│ и Node T383838>=24.

Требования

• Python T383838>=3.11 (из T383838pyproject.toml)
• Node.js T383838>=24 (из T383838package.json)
• pnpm T38383810.32.1 (из T383838package.json)
• Poetry (используется в T383838Taskfile.yml и CI)

T282828
task install
task lint:all
task test:all
task build:all

Способы установки

Выберите способ в соответствии со средой и форматом пакета.

┌─────────────────────┬─────────────────────┬──────────────┬───────────────────────────────────────┐
│ Метод │ Включает фронтенд │ Архитектуры │ Лучше всего для │
├─────────────────────┼─────────────────────┼──────────────┼───────────────────────────────────────┤
│ Docker-образ │ Да │ T383838linux/amd64… │ Быстрый запуск на серверах Linux │
│ Python wheel (T383838.whl) │ Да │ Любая архит… │ Безголовый/веб-сервер без сборки Node │
│ Linux AppImage │ Да │ T383838x64, T383838arm64 │ Портативное использование на ПК │
│ Debian-пакет (T383838.deb) │ Да │ T383838x64, T383838arm64 │ Установка на Debian/Ubuntu │
│ RPM-пакет (T383838.rpm) │ Да │ Зависит от … │ Fedora/RHEL/openSUSE │
│ Из исходников │ Собирается локально │ Архитектура… │ Разработка и кастомные сборки │
└─────────────────────┴─────────────────────┴──────────────┴───────────────────────────────────────┘

Примечания:

• Релизный workflow явно собирает Linux T383838x64 и T383838arm64 AppImage + DEB.
• RPM также собирается при попытке и загружается при успехе.

Быстрый старт: Docker

T282828
docker compose up -d

Compose-файл по умолчанию:

• T383838127.0.0.1:8000 на хосте -> порт T3838388000 контейнера
• T383838./meshchat-config -> T383838/config для данных

Если возникают ошибки прав доступа:

T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config


Установка из релизных артефактов

1) Linux AppImage (x64/arm64)

1. Скачайте T383838ReticulumMeshChatX-v<версия>-linux-<арх>.AppImage из релизов.
2. Сделайте исполняемым и запустите:

T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu T383838.deb (x64/arm64)

1. Скачайте T383838ReticulumMeshChatX-v<версия>-linux-<арх>.deb.
2. Установите:

T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) RPM-системы

1. Скачайте T383838ReticulumMeshChatX-v<версия>-linux-<арх>.rpm, если есть в релизе.
2. Установите:

T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (T383838.whl)

В релизных wheel включены собранные веб-ресурсы.

T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless

T383838pipx также поддерживается:

T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Запуск из исходников (режим веб-сервера)

Для разработки или локальной сборки.

T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1


Запуск в песочнице (Linux)

Чтобы запускать нативный T383838meshchatx (псевдоним: T383838meshchat) с дополнительной изоляцией файловой системы, можно использовать Firejail или Bubblewrap (T383838bwrap), сохраняя обычный сетевой доступ для Reticulum и веб-интерфейса. Полные примеры (pip/pipx, Poetry, USB-serial) в:


Та же страница отображается во встроенной Документации (документация MeshChatX), когда она отдаётся из T383838meshchatx-docs.

Сборка настольных пакетов из исходников

Скрипты заданы в T383838package.json и T383838Taskfile.yml.

Linux x64 AppImage + DEB

T282828
pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

T282828
pnpm run dist:linux-arm64

RPM

T282828
pnpm run dist:rpm

Через Task:

T282828
task dist:fe:rpm

Поддержка архитектур

• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (скрипты сборки есть)
• macOS: скрипты сборки (T383838arm64, T383838universal) для локальных сред
• Android: проект и CI в репозитории

Android
Конфигурация

┌────────────────────────┬──────────────────────────────────────┬──────────────┬───────────────────┐
│ Аргумент │ Переменная окружения │ По умолчанию │ Описание │
├────────────────────────┼──────────────────────────────────────┼──────────────┼───────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Адрес привязки в… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Порт веб-сервера │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ Отключить HTTPS │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (нет) │ Пути к PEM-серти… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (нет) │ Уровень лога сте… │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Не открывать бра… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Базовая аутентиф… │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Каталог данных │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ авто/bundled │ Каталог фронтенд… │
└────────────────────────┴──────────────────────────────────────┴──────────────┴───────────────────┘

Ветки

┌────────┬────────────────────────────────────────────────────────────────────┐
│ Ветка │ Назначение │
├────────┼────────────────────────────────────────────────────────────────────┤
│ T383838master │ Стабильные релизы. Только код для продакшена. │
│ T383838dev │ Активная разработка. Возможны нестабильные или неполные изменения. │
└────────┴────────────────────────────────────────────────────────────────────┘

Разработка

Типичные задачи из T383838Taskfile.yml:

T282828
task install
task lint:all
task test:all
task build:all

Сокращения T383838Makefile:

┌──────────────┬─────────────────────────────────────────┐
│ Команда │ Описание │
├──────────────┼─────────────────────────────────────────┤
│ T383838make install │ Установить зависимости pnpm и poetry │
│ T383838make run │ Запуск MeshChatX через poetry │
│ T383838make build │ Сборка фронтенда │
│ T383838make lint │ eslint и ruff │
│ T383838make test │ Тесты фронтенда и бэкенда │
│ T383838make clean │ Удалить артефакты сборки и node_modules │
└──────────────┴─────────────────────────────────────────┘

Версионирование

Текущая версия в репозитории: T3838384.4.0.

• Источник версии JS/Electron — T383838package.json.
• T383838meshchatx/src/version.py синхронизируется из T383838package.json:

T282828
pnpm run version:sync

Для согласованных релизов выравнивайте поля версий где нужно (T383838package.json, T383838pyproject.toml, T383838meshchatx/__init__.py).

Безопасность

• Встроенные проверки целостности и HTTPS/WSS по умолчанию в приложении
• CI-сканирование в T383838.gitea/workflows/

Добавление языка

Локали обнаруживаются автоматически. Достаточно одного JSON-файла:

1. Сгенерировать пустой шаблон из T383838en.json:

T282828
python scripts/generate_locale_template.py

Создаётся T383838locales.json со всеми ключами и пустыми строками.

2. Переименовать и переместить:

T282828
mv locales.json meshchatx/src/frontend/locales/xx.json

3. В начале файла задать T383838_languageName — нативное имя языка (например T383838"Espanol", T383838"Francais"). Отображается в выборе языка.

4. Перевести остальные значения.

5. Проверить ключи: T383838pnpm test -- tests/frontend/i18n.test.js --run

Других изменений кода не требуется. Приложение, селектор языка и тесты используют T383838meshchatx/src/frontend/locales/ на этапе сборки.

Авторы

Liam Cottle — оригинальный Reticulum MeshChat
RFnexus — парсер Micron (JavaScript)
markqvist — Reticulum, LXMF, LXST


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────